﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PloobsEngine.SceneControl;
using PloobsEngine.Light;
using PloobsEngine.Modelo;
using PloobsEngine.Cameras;

namespace PloobsEngine.Material
{
    public enum ShaderParcialFuncion
    {
        PRE_DRAW,DRAW,POS_DRAW
    }

    public abstract class ParcialShader 
    {        
        protected IObject obj;
        protected IList<ILight> lights;
               
        public abstract ShaderParcialFuncion ShaderParcialFuncion
        {
            get;
        }

        public virtual void Draw(IModelo modelo, IRenderHelper render, ICamera cam, IList<ILight> lights)
        {         
        }

        public virtual void Initialize()
        {        
        }

        public virtual void Update(IObject ent, IList<ILight> lights)
        {
            this.obj = ent;
            this.lights = lights;
        }

    }

}
